home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / audio / AudioPlayer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.2 KB  |  97 lines

  1. package sun.audio;
  2.  
  3. import java.io.InputStream;
  4. import java.security.AccessController;
  5.  
  6. public class AudioPlayer extends Thread {
  7.    private AudioDevice devAudio;
  8.    private static boolean DEBUG = false;
  9.    public static final AudioPlayer player = getAudioPlayer();
  10.  
  11.    private static ThreadGroup getAudioThreadGroup() {
  12.       if (DEBUG) {
  13.          System.out.println("AudioPlayer.getAudioThreadGroup()");
  14.       }
  15.  
  16.       ThreadGroup var0;
  17.       for(var0 = currentThread().getThreadGroup(); var0.getParent() != null && var0.getParent().getParent() != null; var0 = var0.getParent()) {
  18.       }
  19.  
  20.       return var0;
  21.    }
  22.  
  23.    private static AudioPlayer getAudioPlayer() {
  24.       if (DEBUG) {
  25.          System.out.println("> AudioPlayer.getAudioPlayer()");
  26.       }
  27.  
  28.       1 var1 = new 1();
  29.       AudioPlayer var0 = (AudioPlayer)AccessController.doPrivileged(var1);
  30.       return var0;
  31.    }
  32.  
  33.    private AudioPlayer() {
  34.       super(getAudioThreadGroup(), "Audio Player");
  35.       if (DEBUG) {
  36.          System.out.println("> AudioPlayer private constructor");
  37.       }
  38.  
  39.       this.devAudio = AudioDevice.device;
  40.       this.devAudio.open();
  41.       if (DEBUG) {
  42.          System.out.println("< AudioPlayer private constructor completed");
  43.       }
  44.  
  45.    }
  46.  
  47.    public synchronized void start(InputStream var1) {
  48.       if (DEBUG) {
  49.          System.out.println("> AudioPlayer.start");
  50.          System.out.println("  InputStream = " + var1);
  51.       }
  52.  
  53.       this.devAudio.openChannel(var1);
  54.       this.notify();
  55.       if (DEBUG) {
  56.          System.out.println("< AudioPlayer.start completed");
  57.       }
  58.  
  59.    }
  60.  
  61.    public synchronized void stop(InputStream var1) {
  62.       if (DEBUG) {
  63.          System.out.println("> AudioPlayer.stop");
  64.       }
  65.  
  66.       this.devAudio.closeChannel(var1);
  67.       if (DEBUG) {
  68.          System.out.println("< AudioPlayer.stop completed");
  69.       }
  70.  
  71.    }
  72.  
  73.    public void run() {
  74.       this.devAudio.play();
  75.       if (DEBUG) {
  76.          System.out.println("AudioPlayer mixing loop.");
  77.       }
  78.  
  79.       while(true) {
  80.          try {
  81.             Thread.sleep(5000L);
  82.          } catch (Exception var2) {
  83.             if (DEBUG) {
  84.                System.out.println("AudioPlayer exited.");
  85.             }
  86.  
  87.             return;
  88.          }
  89.       }
  90.    }
  91.  
  92.    // $FF: synthetic method
  93.    AudioPlayer(1 var1) {
  94.       this();
  95.    }
  96. }
  97.